home *** CD-ROM | disk | FTP | other *** search
Wrap
Text File | 1996-05-01 | 2.3 KB | 106 lines | [ TEXT/MPS ]
{ File: NuBusPlugin.p Contains: I/O Interfaces for NuBus "bus plugins" Version: Technology: xxx Put version info here xxx Release: Universal Interfaces 3.0d3 on Copland DR1 Copyright: © 1984-1996 by Apple Computer, Inc. All rights reserved. Bugs?: If you find a problem with this file, send the file and version information (from above) and the problem description to: Internet: apple.bugs@applelink.apple.com AppleLink: APPLE.BUGS } {$IFC UNDEFINED UsingIncludes} {$SETC UsingIncludes := 0} {$ENDC} {$IFC NOT UsingIncludes} UNIT NuBusPlugin; INTERFACE {$ENDC} {$IFC UNDEFINED __NUBUSPLUGIN__} {$SETC __NUBUSPLUGIN__ := 1} {$I+} {$SETC NuBusPluginIncludes := UsingIncludes} {$SETC UsingIncludes := 1} {$IFC UNDEFINED __TYPES__} {$I Types.p} {$ENDC} {$IFC UNDEFINED __SLOTS__} {$I Slots.p} {$ENDC} {$IFC UNDEFINED __KERNEL__} {$I Kernel.p} {$ENDC} {$IFC UNDEFINED __INTERRUPTS__} {$I Interrupts.p} {$ENDC} {$IFC UNDEFINED __NAMEREGISTRY__} {$I NameRegistry.p} {$ENDC} {$IFC UNDEFINED __NUBUS__} {$I NuBus.p} {$ENDC} {$PUSH} {$ALIGN MAC68K} {$LibExport+} {$IFC FOR_SYSTEM8_PREEMPTIVE } CONST kNuBusMaxRegs = 10; kNuBusPluginNSlotMask = $0000000F; kNuBusPluginCanDisable = $80000000; kNuBusPluginCanMap = $40000000; kNuBusPluginVersion = 0; TYPE NuBusPluginInitProc = ProcPtr; { FUNCTION NuBusPluginInitProc((CONST)VAR thisBus: RegEntryRef): OSStatus; C; } NuBusPluginFinalProc = ProcPtr; { FUNCTION NuBusPluginFinalProc((CONST)VAR thisBus: RegEntryRef): OSStatus; C; } NuBusPluginHeaderPtr = ^NuBusPluginHeader; NuBusPluginHeader = RECORD version: NumVersion; attributes: UInt32; reserved1: UInt32; reserved2: UInt32; END; NuBusPluginDescriptorPtr = ^NuBusPluginDescriptor; NuBusPluginDescriptor = RECORD header: NuBusPluginHeader; Initialize: NuBusPluginInitProc; Finalize: NuBusPluginFinalProc; END; { * NuBusMapSlot - * * The interface a NuBus "bus plugin" uses to communicate its * slot addressing requirements to the NuBus family manager * } FUNCTION NuBusMapSlot({CONST}VAR thisBus: RegEntryRef; VAR theseAddresses: PropertyReg; nAddresses: ByteCount; VAR resultSlots: RegEntryRef): OSStatus; C; {$ENDC} {$ALIGN RESET} {$POP} {$SETC UsingIncludes := NuBusPluginIncludes} {$ENDC} {__NUBUSPLUGIN__} {$IFC NOT UsingIncludes} END. {$ENDC}